#ifndef _CROSSENGINE_GLOBALVAR_H_
#define _CROSSENGINE_GLOBALVAR_H_

#include "common.h"
#include "timer.h"
#include "printer.h"
#include "realtimer.h"
#include "threadtask.h"

struct GlobalVariable
{
    uint32 NowTick;
    uint32 LastTick;
    uint64 NowSecond;
    Cross::DateTime NowDate;
};

extern GlobalVariable GVar;
extern struct lua_State* GLuaState;
extern Cross::GlobalTimer* GTimer;
extern Cross::RealTimer* GRealTimer;
extern Cross::Printer* GPrinter;
extern class Cross::TaskProcessor* GTaskProcessor;
extern class MsgServer* GNet;
extern class MsgClient* GCNet;
extern class Application* GApp;
extern class CrossObjectMgr* GObjectMgr;
extern class NetFilterManager* GFilterMgr;
extern class ClientManager* GClientMgr;
extern class ServerManager* GServerMgr;
extern class ObjectFactory* GObjectFactory;

#endif//_CROSSENGINE_GLOBALVAR_H_
